
/**
 * @hexColor  背景颜色
 * @returns   适合的字体颜色
 */
export function getContrastYIQ(hexColor: string) {
  // 去掉 # 号
  hexColor = hexColor.replace('#', '')
  // 处理三位色
  if (hexColor.length === 3) {
    hexColor = hexColor.split('').map(x => x + x).join('')
  }
  const r = parseInt(hexColor.substring(0, 2), 16)
  const g = parseInt(hexColor.substring(2, 4), 16)
  const b = parseInt(hexColor.substring(4, 6), 16)
  // YIQ公式
  const yiq = (r * 299 + g * 587 + b * 114) / 1000
  return yiq >= 128 ? '#000' : '#fff'
}